package applicationModels;

import interfacesplugins.InterfaceFilesTraitement;
import interfacesplugins.InterfaceExplorateurJtree;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

import applicationFramework.TreeFrame;

public class Sauvegarde {
	private static String extensionFichier;

	public static void saveFrame(TreeFrame t,InterfaceExplorateurJtree iej) {
		Properties pr = new Properties();
		try {
			FileOutputStream fos = new FileOutputStream(
					"j-file-explorer.sav");

			if (t.getExplorer().getLastFile() != null)
				pr.setProperty("dernierexplorer", t.getExplorer().getLastFile()
						.getAbsolutePath());
			else
			pr.setProperty("dernierexplorer","null");	
			pr.setProperty("x", String.valueOf(t.getBounds().x));
			pr.setProperty("y", String.valueOf(t.getBounds().y));
			pr.setProperty("width", String.valueOf(t.getBounds().width));
			pr.setProperty("height", String.valueOf(t.getBounds().height));
			int i = 0;
			int j = 0;
			for (String cl : t.getFichierOuvert()) {
					pr.setProperty("dernierfichierouvert" + i, cl);
				i++;
			}
			for (String cl : iej.getFichierOuvert()) {
				pr.setProperty("dernierfichierouvertparexplorateur" + j, cl);
			j++;
		}
			pr.store(fos, "MIAGE M1");
			fos.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public static void loadFrame(TreeFrame t) {
		Properties pr = new Properties();
		try {
			FileInputStream fis = new FileInputStream("j-file-explorer.sav");
			pr.load(fis);
			File filexplorer=new File (pr.getProperty("dernierexplorer"));
			if(filexplorer!=null){
			t.getExplorerScrollPane()
					.getViewport()
					.add(t.getExplorer().buildExplorer(
							filexplorer,
							t.getInterfacefichier()));
			t.setBounds(Integer.parseInt(pr.getProperty("x")),
					Integer.parseInt(pr.getProperty("y")),
					Integer.parseInt(pr.getProperty("width")),
					Integer.parseInt(pr.getProperty("height")));
			}
			int i=0;
			while(pr.getProperty("dernierfichierouvert"+i) != null){
				File f=new File(pr.getProperty("dernierfichierouvert"+i));
				t.LancerPluginFichier(f);
				i++;
			}
			int j=0;
			while(pr.getProperty("dernierfichierouvertparexplorateur"+j) != null){
				File f=new File(pr.getProperty("dernierfichierouvertparexplorateur"+j));
				t.LancerPluginFichier(f);
				j++;
			}
			fis.close();}
		 
		catch (IOException e) {
			e.printStackTrace();
		}

	}

}
